﻿<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ComboEnCascada.aspx.vb"
    Inherits="ComboEnCascada" %>

<%@ Register Assembly="MoniMisi2" Namespace="MoniMisi2" TagPrefix="MM2" %>
<%@ Register Src="Controles de Usuario/Locacion.ascx" TagName="Locacion" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <MM2:ScriptManager ID="ScriptManager" runat="server">
        </MM2:ScriptManager>
        <MM2:ProveedorDatosServidor ID="Region" runat="server" WebMethod="ManejoRegion">
        </MM2:ProveedorDatosServidor>
        <MM2:ProveedorDatosServidor ID="RegionConFiltro" runat="server" WebMethod="ManejoRegion">
        </MM2:ProveedorDatosServidor>
        <MM2:ProveedorDatosServidor ID="Territorio" runat="server" WebMethod="ManejoTerritorio">
        </MM2:ProveedorDatosServidor>
        <MM2:ProveedorDatosServidor ID="TerritorioConFiltro" runat="server" WebMethod="ManejoTerritorioConFiltro">
        </MM2:ProveedorDatosServidor>
        <center>
        <h1>Combos en cascada</h1>
            <table style="border: medium solid #000000; width: 500px;">
                <tr>
                    <th colspan="4" style="background-color: Gray; color: white">
                        Modo
                        Cliente - Cliente</th>
                </tr>
                <tr>
                    <td>
                        Region :
                    </td>
                    <td>
                        <MM2:Combo ID="ComboRegion1" runat="server" Valor="RegionID" Descripcion="RegionDescription"
                            Lleno="true" IdDatos="Region" onchange="RefrescarTerritorio(this)" AutoOnChange="true">
                        </MM2:Combo>
                    </td>
                    <td>
                        Territorio :
                    </td>
                    <td>
                        <MM2:Combo ID="ComboTerritorio1" runat="server" Valor="TerritoryID" Descripcion="TerritoryDescription"
                            Lleno="true" IdDatos="Territorio">
                        </MM2:Combo>
                    </td>
                </tr>
            </table>
            <span style="color:Red">Al cambiar de valor de Region se actualiza el Territorio filtrando la tabla 
            de territorios que esta en memoria. No hay consultas al servidor. </span>
            <br />
            <br />
            <table style="border: medium solid #000000; width: 500px;">
                <tr>
                    <th colspan="4" style="background-color: Gray; color: white">
                        Modo
                        Cliente - Servidor</th>
                </tr>
                <tr>
                    <td>
                        Region :
                    </td>
                    <td>
                        <MM2:Combo ID="ComboRegion2" runat="server" Valor="RegionID" Descripcion="RegionDescription"
                            Lleno="true" IdDatos="RegionConFiltro" onchange="RefrescarTerritorioConFiltro(this)"
                            AutoOnChange="true">
                        </MM2:Combo>
                    </td>
                    <td>
                        Territorio :
                    </td>
                    <td>
                        <MM2:Combo ID="ComboTerritorio2" runat="server" Valor="TerritoryID" Descripcion="TerritoryDescription"
                            IdDatos="TerritorioConFiltro" Lleno="false">
                        </MM2:Combo>
                    </td>
                </tr>
            </table>
            <span style="color:Red">Al cambiar de valor de Region se actualiza el Territorio consultando al servidor a cada cambio. </span>
            <br />
            <br />
        </center>
    </div>
    </form>

    <script type="text/javascript">
        function RefrescarTerritorio(pComboRegion) {
            var ComboTerritorio = document.getElementById('ComboTerritorio1').control
            ComboTerritorio.Tabla.FiltroCliente = function(pReg) { return pReg.RegionID == pComboRegion.value }
            ComboTerritorio.Refrescar()
        }
        function RefrescarTerritorioConFiltro(pComboRegion) {
            var ComboTerritorio = document.getElementById('ComboTerritorio2').control
            ComboTerritorio.Refrescar(true, pComboRegion.value)
        }

    </script>

</body>
</html>
